﻿using BCCommon.Enums;
using BCCommon.OAEnums.Workflow;
using BCDto.OA.Workflow.WorkflowActivityStepExtendMethodInstance;
using BCDto.OA.Workflow.WorkflowActivityStepInstance;
using System;
using System.Collections.Generic;
using System.Text;

namespace BCDto.OA.Workflow.WorkflowActivityInstance
{
    /// <summary>
    /// OA工作流活动
    /// </summary>
    public class WorkflowActivityInstanceDto
    {
        /// <summary>
        /// 工作流活动Id
        /// </summary>
        public long WorkflowActivityId { get; set; }
        /// <summary>
        /// 工作流Key
        /// </summary>
        public string WorkflowKey { get; set; }
        /// <summary>
        /// 工作流类型
        /// </summary>
        public string WorkflowType { get; set; }
        /// <summary>
        /// 工作流名称
        /// </summary>
        public string WorkflowName { get; set; }
        /// <summary>
        /// 集团公司Id
        /// </summary>
        public int? CompanyId { get; set; }
        /// <summary>
        /// 创建时间
        /// </summary>
        public DateTime CreateTime { get; set; }
        /// <summary>
        /// 是否为基本工作流
        /// </summary>
        public bool IsBaseWorkflow { get; set; }
        /// <summary>
        /// 工作流活动实例编号
        /// </summary>
        public string WorkflowActivityInstanceNo { get; set; }
        /// <summary>
        /// 工作流活动实例Id
        /// </summary>
        public long WorkflowActivityInstanceId { get; set; }
        /// <summary>
        /// 总步骤数
        /// </summary>
        public int TotalStep { get; set; }
        /// <summary>
        /// 当前步骤
        /// </summary>
        public int CurrentlyStep { get; set; }
        /// <summary>
        /// 活动状态
        /// </summary>
        public ActivityInstanceStatus ActivityStatus { get; set; }
        /// <summary>
        /// 是否为临时工作流活动
        /// </summary>
        public bool IsTemplateActivity { get; set; }
        /// <summary>
        /// 发起人Id
        /// </summary>
        public long AuthorAdminId { get; set; }
        /// <summary>
        /// 发起人姓名
        /// </summary>
        public string AuthorFullName { get; set; }
        /// <summary>
        /// 活动步骤实例列表
        /// </summary>
        public List<WorkflowActivityStepInstanceDto> Steps { get; set; }
        /// <summary>
        /// 活动步骤扩展方法实例列表
        /// </summary>
        public List<WorkflowActivityStepExtendMethodInstanceDto> ExtendMethods { get; set; }

        /// <summary>
        /// 合伙人ID
        /// </summary>
        public long? PartnerId { get; set; }

        /// <summary>
        /// 角色类型
        /// </summary>
        public RoleType RoleType { get; set; }
    }
}
